home *** CD-ROM | disk | FTP | other *** search
- C-KERMIT FOR UNIX, CHANGES FROM 4C(058) TO 4D(060), 29 APR 86:
-
- . Add support for Commodore Amiga (Lattice C) in modules CKI*.*, with minor
- changes to CKCMAI.C, CKUUS?.C, CKUCMD.C, CKCDEB.H. No effect on UNIX Kermit.
-
- . Fix several minor bugs in UNIX version:
- - Multiline GET command failure when executed from TAKE file (CKUUSR.C).
- - File collision renaming bugs fixed, algorithm improved (CKUFIO.C).
- - CONNECT command now reports fork creation failure (CKUCON.C).
-
-
- C-KERMIT FOR UNIX, CHANGES FROM 4C(057) TO 4C(058), 19 MAR 86:
-
- makefile:
- . Add special entry "rtu" for Masscomp.
- . Fix up "bsd29" entry.
-
- ckcdeb.h:
- . Added defs for CHAR and LONG for 2.9 BSD.
-
- ckcfns.c:
- . Make reof() return a value, like it's supposed to.
- . Make spar() set the right packet terminator (seol, not eol).
- . Change tinit() to put a NAK packet in retransmit buffer, but don't send it.
- . Reset cxseen in reof(), so it isn't sticky for the next file.
-
- ckcfn2.c:
- . Fix input() to treat NAK for packet n+1 as ACK for packet n.
- . Defend against writing 0 past end of buffer in rpack().
-
- ckcpro.w:
- . Don't send NAK automatically at beginning of receive.
- . In <sseof> rule, call sfile with argument xflg, like sfile expects.
- . Sleep a couple secs before returning to give last packet some time to escape.
-
- ckucon.c:
- . Remove ^S from among escape character arguments.
-
- ckufio.c:
- . Change execl() calls to have NULL as 5th arg, rather than (char *)0.
- . Fix up 2.9 BSD stuff, make it use opendir() for directory stepping.
-
- ckutio.c:
- . Fix nontimed read in ttinl() to work.
- . Change msleep() to return immediately if argument is 0 (for dial pause).
- . Skip setting console modes in con...() functions if not a real tty.
- . Give system error message in ttopen() if line can't be opened.
- . Remove erroneous references to DIRSIZ.
- . Fix up 2.9BSD stuff.
-
- ckuusr.c:
- . Change execl() calls to have NULL as 5th arg, rather than 0, or (char *)0.
-
- ckvfio.c (VAX/VMS support):
- . Fix system() to allow spawning interactive shell if '!' command given.
- . Fix zopeni() to not spuriously reject certain calls, so REMOTE commands work.
- . Fix msleep(m) to return immediately if m==0.
-
-
- C-KERMIT FOR UNIX, CHANGES FROM 4C(056) TO 4C(057), 31 JUL 85:
-
- general (many modules affected):
- . Change "set send packet-length" to override Send-Init value.
- . Change still more global character variables from int or char to CHAR.
- . Fix 4.1BSD and C/70 support (Charles Brooks), 2.9 support (Herm Fischer).
-
- ckcfns.c:
- . Server always executes generic (but not host) commands in text mode.
- . Change calling convention for getchx() to allow better reporting of eof.
- Some earlier changes had apparently broken PDP-11 support for binary
- files because of sign extension...
- . Again, several hours after initial announcement of 4C(057) found that above
- change had busted things for 68000s (again) because of still more int/char
- conversion problems. Changed 'next' from int to char and moved its file
- begin/end function to a new flag variable, 'first'. Hopefully, not too many
- copies got out; those that did are dated 29 July; the version with this fix
- is dated 31 July. Sigh...
-
- ckuusr.c:
- . Fix timing statistics to work for 16-bit machines too (Dan).
- . Change calls to execl() to terminate with "(char *)0", not "0".
-
- ckufio.c:
- . Fix bug that sometimes prevented sending files with 14-char long names.
-
- ckutio.c:
- . Herm fixed it up so all the changes in previous edits that broke his
- modem control code are now more compatible with it. Also, myread() -- the
- nonblocking equivalent of read() -- was fixed to report errors better.
-
- ckudia.c:
- . Many changes from Herm & Dan, mostly relating to modem control and resetting
- alarms to get the dialing-with-no-carrier-to-connected-with-carrier
- transition working again.
-
-
- C-KERMIT FOR UNIX, CHANGES FROM 4C(055) TO 4C(056), 11 JUL 85:
-
- ckcpro.w:
- . Make new ssfile state, to allow for display of data in ack to file header.
- . If data comes in ack to file header, log to transaction file.
- . Put local filename in data field of ack to F packet.
- . Add calls to new rtimer(), gtimer() to allow transactions to be timed.
- . When sending, include D in EOF packet in all cases when interrupted.
- Previously, only "czseen" would do it, but not cxseen.
- . Upon receipt of Z packet, send Ack AFTER closing file rather than before.
- If file can't be closed, send Error packet instead of Ack.
- . Upon receipt of error packet while receiving file, discard file.
- . Upon receipt of unexpected packet type, send Error, not Nak.
-
- ckcfns.c:
- . Change clsof() to accept an argument specifying whether to discard.
- . Change clsof() to keep incomplete file regardless of arg if keep != 0.
- . Change clsof() to return -1 if output file could not be closed.
- . Change name of getch() to getchx() to avoid conflict with libraries.
- . Fix Yet Another Problem with 8th-bit Quoting Negotation. The bug was that
- if other side said 'N' we would treat 'N' as quoting prefix rather than "NO"
- (but only if parity was set to other than none).
- . Remove input buffer flush from sfile() (why was it ever there???).
- . Change seof() to accept an argument to put in the Z-packet data field.
- . Add transaction timing statistics to reof(),reot() for transaction log.
- . Combine sfile() and sxpack() into one function.
-
- ckcfn2.c:
- . Improve performance of rpack by reducing scan for soh to number of chars
- read rather than whole buffer (required changing inlin()'s return code).
- . Allow rpack to skip over "blank lines" without failing; this was preventing
- file transfer with some systems that always sent CRLF before transmitting
- anything (e.g. UCLA's MVS/TSO VTAM).
- . Don't flush input buffer at end of rpack(), because if the packet that we
- just read is a repeat or an echo, the one we want might be queued up after
- it. Instead, flush in input() only after the desired packet arrives.
- . Allow user to type ^A^C^C to interrupt rpack and exit cleanly from program.
-
- ckuusr.c:
- . Add "incomplete" to "set" parse table and display incomplete in "show".
- . Add "%" command for comment lines.
- . Add elapsed time and effective baud rate display to "statistics" command.
- . Fix "show parameters", had send/receive end-of-packet reversed.
- . Make modem-type lookup in "show" a little cleaner.
- . Fix "echo" to interpret \ooo escapes in its argument.
-
- ckuus2.c:
- . Add "help set incomplete".
- . Fix help message for "set line".
-
- ckuus3.c:
- . Add "set incomplete" support.
- . Allow "set prompt" argument in doublequotes and strip quotes if used, to
- allow specification of prompt with leading &/or trailing blanks.
- . Fix "set send/receive padding/pad-character" -- they had variables reversed.
-
- ckufio.c:
- . For Pro/Venix V1, make MAXWILD and SSPACE even smaller, so malloc() still
- has some space left to allocate...
- . Change zclose() to return -1 if file could not be closed.
-
- ckutio.c:
- . Use Sys III/V nonblocking read() technique also for 4.xBSD -- improves
- performance noticably!
- . Add rtimer() and gtimer() functions for resetting/getting elapsed time.
- . Don't return failure from tthang() if line wasn't open.
- . Print warning message if tthang() or ttunlk() fail.
- . In ttclos(), relinquish exclusive access.
- . Change some #ifdefs so they depend on features, like FIONREAD, rather than
- system, like BSD4. This allows collapsing a lot of redundant code.
-
- ckucon.c:
- . Add hangup (h) option to escape character arguments.
-
- ckuscr.c:
- . Change static timeInt() to global scrtime() to avoid problems on code
- mapped systems.
-
-
- C-KERMIT FOR UNIX, CHANGES FROM 4C(054) TO 4C(055), 28 JUNE 85:
-
- ckudia.c (all changes by Dan Schullman, DEC):
- . Add support for US Robotics modem (untested) from Joe Orost at Berkeley.
- . Reorganize MDMINF data structure to accommodate US Robotics (some char
- fields had to become strings).
- . Allow interrupts (SIGINT, e.g. ^C) to cancel dialing in progress.
- . Ring bell when connection made successfully.
- . Close line on failures.
- . Allow stored numbers with DF100 and 200 modems.
-
- ckudia.c now supports the following modems:
- . Cermetek Info-Mate 212 A
- . DEC DF03-AC
- . DEC DF100 Series
- . DEC DF200 Series
- . General Data Comm 212A/ED
- . Hayes Smartmodem 1200 & compatibles
- . Penril
- . Racal Vadic
- . US Robotics 212A
- . Ventel
- Plus "unknown" modems and direct (modemless) connections.
-
-
- C-KERMIT FOR UNIX, CHANGES FROM 4C(053) TO 4C(054), 25 JUNE 85:
-
- ckuker.mak (makefile):
- . Add "make ft17" for Fortune 16:32 For:Pro 1.7.
- . Add "make uts24" for Amdahl UTS 2.4
- . Add "make valid" for Valid Scaldstar CAD system
- . Add "make c70" for BBN C/70 IOS 2.4
-
- ckcmai.c:
- . Add call to sysinit()
-
- ck[uvm]tio.c:
- . Add sysinit() function. For VMS, open console. For others, null for now.
-
- ckutio.c, ckufio.c:
- . Add support for Fortune 16:32, mostly like 4.1bsd.
- . Ditto for Amdahl UTS 2.4, mostly like V7.
-
- ckuus2.c:
- . Expand a couple tabs in hlp1 (-h help message) so things line up right.
-
-
- C-KERMIT FOR UNIX, CHANGES FROM 4C(052) TO 4C(053), 21 JUNE 85:
-
- ckcfn2.c:
- . Change dopar() to be of type CHAR.
- . Fix dopar() to calculate odd parity correctly.
-
- ckucon.c, ckuscr.c:
- . Add "extern CHAR dopar();" declarations.
-
-
- C-KERMIT FOR UNIX, CHANGES FROM 4C(050) TO 4C(052), 18 JUNE 85:
-
- ckcfns.c:
- . Repair rpar() and spar() handling of 8th bit prefix negotiation.
- . In sinit(), when sending from stdin, allow "-a name" to work.
- . In rcvfil(), guard against receiving a null F packet.
-
- ckcmai.c:
- . Change hlptxt[] to contain less than 256 characters (for Xenix)
-
- ckcpro.c:
- . In proto() call ttopen() with a temp, x, rather than "local", then only
- set local if x was set.
-
- ckucmd.c:
- . In cmifi(), make y long rather than int. This was making some 16-bit
- machines erroneously report that files longer than 32K could not be found.
-
- ckuker.mak (makefile):
- . Change symbol 3BX to ATT3BX (has to start with letter)
- . Remove line continuations in the middle of strings
- . Add entry for sys3nid (System III/V on PDP-11 with no I&D space)
-
- ckufio.c:
- . Add appropriate #ifdef for TOWER1 in zkself()
- . Add 2.9bsd identification string
-
- ckutio.c:
- . Move definition of CTTNAM from here to ckcdeb.h, so it can be shared.
- . In initrawq() (for V7 only) read the proc table again after fork().
- . Change symbol 3BX to ATT3BX.
- . Get rid of the (void) casts in strxxx() invocations -- the proliferation
- of conditionals was getting ridiculous, and it was only to please lint.
- . In conbin() for Sys III/V, open terminal in 7-bit, parity-enabled mode rather
- than 8-bit, no-parity mode (some sites actually use parity).
- . In conint(), trap and ignore QUIT signal, trap SIGHUP and handle like SIGINT.
- This prevents lock files from being left behind after hangup or quit.
- . In connoi(), turn off traps for SIGQUIT, SIGHUP.
- . In ttopen(), add Sys III/V code using ctermid() to better determine remote/
- local status when stdin redirected. If not Sys III/V and stdin redirected,
- assume local, rather than remote, so that "set speed" and other local-mode
- only commands will work.
- . Add 2.9bsd identification string
- . Make new ANYBSD symbol to select 4.1, 4.2, and 2.9. In some cases, all 3
- work the same, in others, 2.9 and 4.2 are the same, 4.1 special.
-
- ckuus*.c:
- . In command line invocation, base local/remote determination on CTTNAM.
- . In "set line" only ask ttopen() to set local/remote if not default tty.
- . Ignore SIGQUIT and SIGINT signals while inferior shell active in XXSHE:.
- Previously, both Kermit and the inferior shell would catch them.
- . In XYLINE: call ttopen() with a temp, x, rather than "local", then only
- set local if x was set.
- . Change message "status report..." to "status report:" to avoid dot confusion.
-
-
- C-KERMIT FOR UNIX, CHANGES FROM VERSION 4.2(030) TO 4C(050), 30 May 85:
-
- All files except ckwart.* have been renamed according to a consistent
- convention, see ckaaaa.hlp for an explanation.
-
- Copyright notices added to every module, so we can't be enjoined from
- distributing our own program if we give the right to other organizations,
- like Berkeley, to distribute it.
-
- ckwart.c
-
- . Move the #define in the txt1 string to not start on a new line.
- . Fix the comments printed by wart so they can't be construed as comments
- by the compiler that compiles wart.
- . Include formfeed among the skipped-over whitespace characters.
- . Add wart version information.
-
- ckcdeb.h (formerly ckdebu.h):
-
- Forget about typedefing LONG to be unsigned long -- it causes too many
- problems for PDP-11 C compilers, etc. Just let LONG be long.
-
- If symbols DEBUG and TLOG not defined (e.g. in Makefile), then define
- null macros to replace calls to the debug() and tlog() functions, to save
- space and execution time. Program is too big for Macintosh with these
- functions compiled in.
-
- Establish a symbol NLCHAR. If this symbol is defined, then text (ascii)
- files are stored with a single character (such as lf or cr) terminating
- each line, and this character is the value of NLCHAR. If not defined,
- then the system uses CRLF. When NLCHAR is defined, C-Kermit maps between
- that character and CRLF.
-
- ckcfns.c, ckcfn2.c (formerly ckfns.c, ckfns2.c):
-
- . change all calls to screen() to new form.
- . fix bug in sfile() that sometimes prevented literal names from working.
- . don't translate send-as names in sfile, always use them literally.
- . change input() to always resend() after getting a NAK.
- . change getpkt to clear leftovers when starting new file (next = -1),
- so that filenames in F pkt wouldn't have garbage after previous file
- was interrupted.
- . Change call to zchin() to use new calling convention so bytes with
- hi bit on won't be confused with eof on some systems.
- . Reset czseen in seof, not in clsif, so that remote ^X while C-Kermit
- sending will result in correct Z packet with D in data.
- . In resend(), don't send any packet if packet buffer is empty.
- . Un-hardwire getch() from Unix newline text file convention.
- . Fix bug that sometimes resulted in contents of R or X packet
- having first character doubled.
- . Fix bug in getpkt that prevented leftovers from being transmitted
- after end of file.
- . Have tinit() clear c[xz]seen and filnam to prevent bad things happening
- after interruption or emergency protocol exit.
- . Have syscmd() return 0 if called with null string. This allows single
- process systems like the Macintosh to act as servers, even if they can't do
- commands like remote directory.
- . Send out initial nak when doing receive, so that there will be something
- in the packet buffer to resend.
- . Check for failure return code from zchout, to catch disk full errors, etc.
- . When server getting input from a system function, call zopeni() on new
- ZSYSFN channel, rather than circumventing zopeni() by calling zopen().
- . Clean up inlin() a little, use maxt vs MAXTRY consistently.
- . Change rpack,spack,rpar,spar,etc to use the new, separated send/receive
- packet parameters (padding,timeout,eol,soh,etc).
-
- ckcker.h (formerly ckermi.h):
-
- . Removed #include <stdio.h> and <ctype.h> from ckermi.h. Macintosh does not
- need all that... (thanks, Bill)
- . Remove include of ckdebu.h (now ckcdeb.h).
- . Add defs for LF and NUL.
- . Add def for new ZSYSFN file i/o channel.
-
- ckcpro.w (formerly ckprot.w) Protocol Module:
-
- . Add "a" state to cancel any transaction.
- . Remove entries for input='N', since this is now handled by input().
- . Fix "a" state to not cause "OK" message when files closed.
-
- ckucmd.c (formerly ckcmd.c) Unix Command Package:
-
- . Set global cmerrp (error prefix) to be same as prompt, but with '>' stripped.
- . Allow interactive command continuation using trailing '\'.
- . Change "*bp++ == NUL;" in getwd() to simply "bp++;".
- . Test for CR as well as NL for line termination (for Apollo Aegis).
- . In ckucmd.h, #define getchar specially for VMS and Aegis.
- . In cmfld, return(0) from filling out default when ESC typed; this prevents
- "log trans <ESC>transact.log <ESC>transact.log <ESC>transact.log ..."
- . In cmtxt, preserve pointers & counts across calls in case of reparse.
- . In getwd, return -1, NOT -2, if ^U (line kill) is typed.
-
- ckucon.c (formerly ckconu.c) Connect module:
-
- . When writing to session log, make some minimal attempt to recover
- from disk full or other i/o errors (just turn off logging flag).
- . Add baud and parity info to status display.
-
- ckudia.c (formerly ckdial.c) Dial command:
-
- . Support added for Racal-Vadic, Cermetek, Penril, General Datacomm.
- . Use msleep() for higher precision timing.
-
- ckufio.c (formerly ckzunx.c, and before that ckzbsd.c):
-
- Started from Charles Brooks's 4.2 ckzunx.c, which is the original C-Kermit
- release 4.2 version, to which he added 4.1bsd support.
-
- . Fixed zltor() to only count dots after the last '/'.
- . Declared malloc as "char *malloc()".
- . Change fprintf(fp[n],s) to fputs(s, fp[n]) in zsout & zsoutl.
- . Added zkself() function to log self out, for use by server "bye".
- . Changed calling convention for zchin() to allow 68000's etc to return EOF.
- . Make zopeno() chown the file to self, in case program set[ug]id'd.
- . Changed znewn() to try not to contruct a name that is too long.
- . Merge in Gregg Wonderly's v7 support.
- . Make various changes to v7 support to fit proc table stuff to other systems.
-
- . (023) Changed zopeni(), when called with new ZSYSFN channel number,
- to invoke zxcmd() to start a fork and get its fd; also changed zclose()
- and chkfn() accordingly.
-
- . (024) In zchki(), allowed 0 as well as S_IFREG as S_IFMT value for ordinary
- file; Sys V stat() can return either of these values for an ordinary file.
- Also, insert missing #else in zkself().
-
- . (025) declare zchki() to be of type 'long', so that it can return valid
- file sizes for big files. Also fix internal variables that hold size to
- also be long. (Same change to ckvfio.c.) Also, change ckcfns.c and ckucmd.c
- to declare 'long zchki();'.
-
- ckutio.c (formerly ckxunx.c and ckxbsd.c):
-
- Started from Charles Brooks's 4.2 ckxunx.c, which is the original C-Kermit
- release 4.2 version, to which he added 4.1bsd support.
-
- . Added the following for Pro/Venix Version 1:
- - Filled in msleep() using alarm(-clockticks).
- - Filled in conchk() and ttchk() using TIOCQCNT.
- - Changed default tty name (dftty) to be "/dev/com1.dout".
- - Added line locking via /usr/spool/uucp/LCK..devname and TIOCEXCL.
- . Changed local variable c from int to CHAR in ttinl().
- . Let CEB's code to hangup line upon close in 4.1bsd also work for 4.2bsd.
- . Removed flock() from ttopen(), call ttlock() before trying to open tty.
- . Corrected some places where alarms & signals were not turned off.
-
- . Changed calling convention for ttopen() to allow it to set the "local"
- variable, since ttopen can call the system to figure out whether a given
- device is the job's controlling tty. Also had to change all modules that
- call ttopen() to pass this variable by reference instead of by value.
-
- . In ttopen, copy ttname string into a static ttnmsv string global to ckutio
- module, rather than just copying the pointer (which is pointing at a moving
- target). Should fix PC/IX tthang() problem.
-
- . Add support for AT&T 3B-series under 3BX conditional; initially, it just
- follows UXIII conditional, but uses special uucp lock file name.
-
- ckuusr.c, ckuus2.c, ckuus3.c (formerly ckuser.c, ckusr2.c, ckusr3.c):
-
- . all occurrences of printf(s) replaced by printf("%s",s) or puts(s).
- . shortening of remaining long strings.
- . continuation lines now allowed in commands if line ends with "\".
- . make "dir" command arg default to ".", not "*", to prevent recursive listing.
- . make "!" command with no args do system("$SHELL").
- . removed redundant definitions of ncmd, nrmt, nprm.
- . totally redefined and rewrote screen() function.
- . Change send-as to use cmtxt, not cmfld; remove cmcfm.
- . Fix send command to wait for confirmation after wild filespec (this was
- broken by send-as change above, few people saw it).
- . Put 'log debug' command in #ifdef DEBUG
- . Put 'log transaction' command in #ifdef TLOG
- . Use 'transact.log' as default name for transaction log, rather than
- 'transaction.log', which is too long for all but 4.2bsd Unixes.
- . Use symbols for exit() & doexit() return codes, not hardwired 0 and 1.
- . Use symbol for name of init file.
- . Put Unix-specific messages in #ifdef's
- . In 'set line', put speed back to -1 if not local.
- . Change "*xargv++;" in cmdlin() to simply "xargv++;".
- . Change all "if (x = (cmcfm()) < 0)" to "if ((x = cmcfm()) < 0)".
- . In ckuus3, change "turnch == y" to "turnch = y"; this bug prevented
- "set handshake" from working.
- . Add code in shopar() to look up and display modem type correctly.
- . Change "set line" code to have ttopen() figure out local/remote mode.
- . Fix "set line" not to erroneously set ttname if it ttopen fails.
- . In remote cwd parsing, accept CR as well as NL as password terminator.
- . In local directory command, use DIRCMD rather than "ls -l ".
- . In screen() function SCR_QE, print long argument with %ld so the ^A
- status report doesn't show all 0's on systems where ints and longs
- are different length (%ld was already used in the other screen functions).
- . Fix multiline 'get' parsing to allow editing (required fixes to ckucmd.c).
- . Add conditionals for init file name for various systems.
- . Phase out the following set commands:
- set end-of-packet, set start-of-packet, set timeout, set padding & pad-ch.
- Replace by set send (each of these) and set receive (each of these), to
- allow inbound & outbound packet parameters to be set separately.
- . Put new set send/receive params in show command display.
- . Add version info for ckudia and ckuscr to 'sho ver'.
- . Add init file name to 'sho param'.
- . Replace system("pwd") in XXCWD code with system(PWDCMD), defined in ckufio.